package com.enjoyor.soa.traffic.api.ubms.service.dubbo;

import com.enjoyor.soa.traffic.api.ubms.dto.RoadNoDirectInfoDto;
import com.enjoyor.soa.traffic.util.pojo.Page;
import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

/**
 * 维护（不带方向）道路信息的Dubbo服务
 * @author yuankun
 * @version V1.0
 */
@SuppressWarnings("rawtypes")
public interface DubboRoadNoDirectInfoService {

	/**
	 * 返回所有道路信息
	 * @return ResultPojo 所有道路信息
	 */
	public ResultPojo getRoadNoDirectInfo();
	
	/**
	 * 分页返回所有道路信息
	 * @param page 分页对象
	 * @return ResultPojo 包含道路信息的分页对象
	 */
	public ResultPojo getPageRoadNoDirectInfo(Page page);
	
	/**
	 * 返回指定编码的道路信息
	 * @param roadId 道路编码
	 * @return ResultPojo 道路信息
	 */
	public ResultPojo getRoadNoDirectInfoById(String roadId);
	
	/**
	 * 按名称匹配并返回道路信息
	 * @param roadName 道路名称
	 * @return ResultPojo 道路信息
	 */
	public ResultPojo getRoadNoDirectInfoByName(String roadName);
	
	/**
	 * 添加一条道路信息
	 * @param token 以逗号分隔的输入信息，如用户名等
	 * @param roadNoDirectInfoDto 道路信息
	 * @return ResultPojo 添加结果
	 */
	public ResultPojo addRoadNoDirectInfo(String token, RoadNoDirectInfoDto roadNoDirectInfoDto);
	
	/**
	 * 修改一条道路信息
	 * @param token 以逗号分隔的输入信息，如用户名等
	 * @param roadNoDirectInfoDto 道路信息
	 * @return ResultPojo 修改结果
	 */
	public ResultPojo editRoadNoDirectInfo(String token, RoadNoDirectInfoDto roadNoDirectInfoDto);
	
	/**
	 * 删除指定编码的道路信息
	 * @param token 以逗号分隔的输入信息，如用户名等
	 * @param roadId 道路编码
	 * @return ResultPojo 删除结果
	 */
	public ResultPojo removeRoadNoDirectInfo(String token, String roadId);
}
